/* 
 * File:   TransformationInterface.h
 * Author: gustavo
 *
 * Created on August 19, 2012, 12:29 AM
 */

#ifndef TRANSFORM_INTERFACE_H
#define	TRANSFORM_INTERFACE_H

namespace imp {

	namespace math {

		template <class T> class TransformInterface {
		public:
			/**
			 * \brief Computes the transformation of input matrix.
			 * 
			 * This function computes the transformation of the input matrix.
			 * 
			 */
			virtual void transform(T& M) = 0;

			/**
			 * \brief Verify if the input matrix is modified during the transformation process.
			 * 
			 * @return true if input matrix is modified.
			 */
			virtual bool modifiedInput() const = 0;

		private:

		};
	}
}

#endif	/* TRANSFORM_INTERFACE_H */

